package com.ruoyi.swimming.domian;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 商城订单对象 mall_order
 * 
 * @author ruoyi
 * @date 2021-07-17
 */
public class MallOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键id */
    @TableId(type = IdType.AUTO)
    private Long id;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String status;

    /** 客户id */
    @Excel(name = "客户id")
    private Long customerId;

    /** 订单金额 */
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;

    /** 订单优惠金额 */
    @Excel(name = "订单优惠金额")
    private BigDecimal orderDiscount;

    /** 实际支付金额 */
    @Excel(name = "实际支付金额")
    private BigDecimal realPayAmount;

    /** 付款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "付款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payTime;

    /** 微信支付id */
    @Excel(name = "微信支付id")
    private Long wxPayId;

    /** 是否到店核销 */
    @Excel(name = "是否到店核销")
    private Integer isSite;

    /** 快递地址id */
    @Excel(name = "快递地址id")
    private Long addressId;

    /** 物流编码 */
    @Excel(name = "物流编码")
    private Long deliveryNumber;

    /** 物流公司 */
    @Excel(name = "物流公司")
    private String deliveryCompany;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date shipTime;

    /** 确认收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "确认收货时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmReceiptTime;

    /** 是否删除 */
    @Excel(name = "是否删除")
    @TableLogic
    private Integer isDel;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setCustomerId(Long customerId) 
    {
        this.customerId = customerId;
    }

    public Long getCustomerId() 
    {
        return customerId;
    }
    public void setOrderAmount(BigDecimal orderAmount) 
    {
        this.orderAmount = orderAmount;
    }

    public BigDecimal getOrderAmount() 
    {
        return orderAmount;
    }
    public void setOrderDiscount(BigDecimal orderDiscount) 
    {
        this.orderDiscount = orderDiscount;
    }

    public BigDecimal getOrderDiscount() 
    {
        return orderDiscount;
    }
    public void setRealPayAmount(BigDecimal realPayAmount) 
    {
        this.realPayAmount = realPayAmount;
    }

    public BigDecimal getRealPayAmount() 
    {
        return realPayAmount;
    }
    public void setPayTime(Date payTime) 
    {
        this.payTime = payTime;
    }

    public Date getPayTime() 
    {
        return payTime;
    }
    public void setWxPayId(Long wxPayId) 
    {
        this.wxPayId = wxPayId;
    }

    public Long getWxPayId() 
    {
        return wxPayId;
    }
    public void setIsSite(Integer isSite) 
    {
        this.isSite = isSite;
    }

    public Integer getIsSite() 
    {
        return isSite;
    }
    public void setAddressId(Long addressId) 
    {
        this.addressId = addressId;
    }

    public Long getAddressId() 
    {
        return addressId;
    }
    public void setDeliveryNumber(Long deliveryNumber) 
    {
        this.deliveryNumber = deliveryNumber;
    }

    public Long getDeliveryNumber() 
    {
        return deliveryNumber;
    }
    public void setDeliveryCompany(String deliveryCompany) 
    {
        this.deliveryCompany = deliveryCompany;
    }

    public String getDeliveryCompany() 
    {
        return deliveryCompany;
    }
    public void setShipTime(Date shipTime) 
    {
        this.shipTime = shipTime;
    }

    public Date getShipTime() 
    {
        return shipTime;
    }
    public void setConfirmReceiptTime(Date confirmReceiptTime) 
    {
        this.confirmReceiptTime = confirmReceiptTime;
    }

    public Date getConfirmReceiptTime() 
    {
        return confirmReceiptTime;
    }
    public void setIsDel(Integer isDel) 
    {
        this.isDel = isDel;
    }

    public Integer getIsDel() 
    {
        return isDel;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("status", getStatus())
            .append("customerId", getCustomerId())
            .append("orderAmount", getOrderAmount())
            .append("orderDiscount", getOrderDiscount())
            .append("realPayAmount", getRealPayAmount())
            .append("payTime", getPayTime())
            .append("wxPayId", getWxPayId())
            .append("isSite", getIsSite())
            .append("addressId", getAddressId())
            .append("deliveryNumber", getDeliveryNumber())
            .append("deliveryCompany", getDeliveryCompany())
            .append("shipTime", getShipTime())
            .append("confirmReceiptTime", getConfirmReceiptTime())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("isDel", getIsDel())
            .toString();
    }
}
